home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Tools / Languages / Python 1.1 / TODO < prev   
Encoding:
Text File  |  1994-10-06  |  9.0 KB  |  375 lines  |  [TEXT/R*ch]

  1. (*) 2 specific leaks: 1 PYTHONPATH; 2 reading code from .pyc
  2.  
  3. (-) if __getattr__ prints something, calling repr(x) from cmd line
  4. forgets a newline
  5.  
  6. (-) improve performance of list.append/insert etc. by keeping high/low
  7. watermark instead of realloc'ing each time?
  8.  
  9. (-) findmethod should cache (also findmember?)
  10.  
  11. (-) sysget("check_interval") is called before each method call which
  12. breaks dictlookup caching
  13.  
  14. (*) core dump on import of ridiculously long module name
  15.  
  16. (-) core dump on repr / print of deeply nested or recursive object
  17.  
  18. (*) parsing from string should calculate line numbers
  19.  
  20. (-) whrandom doc needs update
  21.  
  22. (-) mpz power is still binary insterad of ternary
  23.  
  24. (*) design interface to call arbitrary asynchronous routines
  25.  
  26. (*) whrandom.set...(0,0,0) doesn't generate random numbers
  27.  
  28. (*) Lance's latest curses additions
  29.  
  30. (-) Jack's new code:
  31.     (*) new xxmodule.c
  32.     (*) mac has type for .pyc files
  33.     (*) should run .pyc files when passed as command line argument
  34.  
  35. (*) all new all singing all dancing freeze script
  36.  
  37. (*) make clean should remove *.so and not Makefile.pre
  38.  
  39. (-) fix signalmodule.c to re-establish SIGC[H]LD handler
  40.  
  41. (-) try out Kees Blom's railroad diagram generator
  42.  
  43. (-) redesign error handling (cf. Donald's mail)
  44.  
  45. (*) do MPW and THINK still not support sys_errlist?  Indeed not (neither).
  46.  
  47. (-) does MPW 3.2 need the MPW_881_BUG defined in Parser/acceler.c
  48.  
  49. (-) rename MPW_3_1 define (which really means 3.x)
  50.  
  51. (*) incorporate urlparse.py, uu.py
  52.  
  53. (*) rewrite instance __getattr__ etc. to store ptr in class instead of
  54. instance -- also have separate __delattr__
  55.  
  56. (-) add warning to docs about sys.exc_traceback and sys.last_traceback.
  57.  
  58. (-) Some stdwin wishes:
  59.  
  60.     (-) stdwinmodule should keep track of textedit rec's per window
  61.     (in a chain) so it can unlink them when the window is closed
  62.     before the te rec
  63.  
  64.     (-) textedit flashes at return or backspace
  65.  
  66.     (-) there's no way to show the text caret after a multi-line paste?
  67.  
  68. (*) termios module
  69.  
  70. (*) put signal patches out separately
  71.  
  72. (-) latex docs for signal module
  73.  
  74. (*) More MPW and Mac changes
  75.  
  76. (*) Sjoerd's compileall script
  77.  
  78. (-) systematically create /usr/local/lib/python/<machine>-<os>/
  79.     subdirectories, with a lib/ subdirectory containing the lib*.a
  80.     files etc.
  81.  
  82. (-) need newer DOS binary (16 bit version doesn't do default args)
  83.  
  84. (*) support for dynamically loadable libraries in makesetup and Extensions.
  85.     e.g. add a make rule to build .so files (unfortunately need to figure
  86.     out what ld option is needed) (more appropriate for makesetup
  87.     script?)
  88.  
  89. (*) Move tkinter into the standard Modules directory; Tkinter c.s. to
  90.     Lib/tkinter etc. (???)
  91.  
  92. (-) document Tk
  93.  
  94. (-) class browser
  95.  
  96. (-) interactive Python GUI (a la NT thingie)
  97.  
  98. (*) speedup finddfa (and classify?)
  99.  
  100. (-) more stuff under CVS (demo, extensions)
  101.  
  102. (*) Mac port of 1.1
  103.  
  104. (*) Mac port of STDWIN 0.9.9 to THINK C 6.0
  105.  
  106. (-) use const for char * parameters (and many more) where possible
  107.  
  108. (-) The Great Renaming!
  109.  
  110. (-) redo __xxx__ operators for class instances
  111.  
  112. (-) document __getattr__, __setattr__
  113.  
  114. (-) add __delattr__ to class instances
  115.  
  116. (-) many things that take strings should also take arrays of chars
  117.  
  118. (-) add list of existing extensions to FAQ
  119.  
  120. (-) update "recent additions" chapter in tutorial
  121.  
  122. (-) rewrite "output formatting" chapter in tutorial
  123.  
  124. (*) pass OPT from environment via configure to Makefile
  125.  
  126. (*) version.c should be recompiled for each link
  127.  
  128. (*) stropmodule should export find/rfind instead of index/rindex
  129.  
  130. (*) add __getattr__, __setattr__ to class instances
  131.  
  132. (*) fix pow(x, y, z) for integers
  133.  
  134. (*) add tuple(seq) to turn any sequence into a tuple
  135.  
  136. (*) Win32s for PC
  137.  
  138. (*) integrate NT changes
  139.  
  140. (*) write a script and add a "Make" rule (perhaps) that changes
  141.     #!/usr/local/bin/python to something else in all scripts around.
  142.  
  143. (*) int*int overflow check shouldn't doubles on alpha (cf. John Tromp's mail)
  144.  
  145. (*) add signal.alarm()
  146.  
  147. (*) when abort()ing because of unexpected exception, print a message
  148.     first (Jack)
  149.  
  150. ----------------------------------------------------------------------
  151. (from BUGS1.0.1)
  152. ----------------------------------------------------------------------
  153. (-) document addpack, urllib, ...
  154.  
  155. (*) import.c from JaapV
  156.  
  157. (*) document os.exec*
  158.  
  159. (*) name sunaudiodevmodule.c is too long
  160.  
  161. (*) play with / include SUIT interface
  162.  
  163. (-) make regsub.[g]sub() optionally case insensitive
  164.  
  165. ======================================================================
  166.  
  167. (*) ought to use features from autoconf 1.8
  168.  
  169. (*) errors in __repr__() are handled wrong when called from format
  170.  
  171. (*) long(0x80000000) has wrong value!
  172.  
  173. (-) hex(0x80000000) shouldn't have sign (?)
  174.  
  175. (*) need way to set buffering at file open time
  176.  
  177. (*) need way to force stdout unbuffered
  178.  
  179. (*) restart CVS tree
  180.  
  181. (?) build shared libs for SunOS 4.1.3
  182.  
  183. (-) dynamic linking on the Mac (is this a dream?)
  184.  
  185. (*) X patches from Adrian Phillips
  186.  
  187. (*) Jaap's freeze script
  188.  
  189. (-) Incorporate with contrib status:
  190.     - additions to glmodule by rg3h
  191.     (*) Jaap's posixfile module (with locking)
  192.     (*) pthreads interface
  193.  
  194. (-) Later:
  195.     - put the offending object in IOError and posix.error
  196.     - make module marshal work with user-defined file-like objects
  197.     - built-in help?
  198.     - hierarchical module names?
  199.  
  200. Big plans:
  201.  
  202. - allow separate interpreters (a la Xt's Applocation Contexts, and Tcl)
  203. - great renaming
  204. - complete reflexive nature of the language, e.g. have interfaces et
  205. create any kind of object
  206. (*) GUI interface a la Tk
  207.  
  208.  
  209. ======================================================================
  210. For FAQ:
  211.  
  212. (*) why don't strings (numbers, tuples, ...) have methods / attributes
  213.  
  214. (*) why are strings / numbers / tuples immutable
  215.  
  216. why don't list methods return self
  217.  
  218. ======================================================================
  219. PM/TODO list after Egypt (from mailing list):
  220.  
  221. make .pyc files executable (how?)
  222.  
  223. thread status and improvements (lock stmt; signal/wait)
  224.  
  225. optional optimizations
  226.  
  227. pthread migration
  228.  
  229. (*) test/incorporate new SUIT
  230.  
  231. shorten excessively long filenames (sunaudiodevmodule.c)
  232.  
  233. (*) default parameter values
  234.  
  235. multiple interpreter objects
  236.  
  237. (*) import shlib bug (irix5.2) (reload, dlclose)
  238.  
  239. (*) addpack.py
  240.  
  241. (*) newmodule.c (or other hacks to create new modules, classes, functions
  242.     etc. from their components)
  243.  
  244. persistency
  245.  
  246. new Dbhash.py, dbhash library
  247.  
  248. (-) reraise; or raise 3rd param for traceback?
  249.     -or- except type, value, tbackobjec
  250.  
  251. (-) redesign exceptions from scratch?
  252.  
  253. (-) dbm objects miss items(), values() methods
  254.  
  255. (*) jar's new profile
  256.  
  257. (-) answer q about coerce()
  258.  
  259. (*) reconsider pass [expression] ??? -or- don't print non-interactive
  260.     exprs -or- option to suppress printing non-None expressions
  261.  
  262. (*) should be able to hash code objs (add fns to convert between lists/tuples)
  263.  
  264. (-) describe() ?
  265.  
  266. (-) distribute demo2 with Holmes
  267.  
  268. (*) re-reply on try-continue
  269.  
  270. (-) classes are too slow
  271.  
  272. (-) add += etc. ?
  273.  
  274. optimize tuple = tuple
  275.  
  276. allow (a, b) = [1, 2] and [1, 2] = (1, 2) ???
  277.  
  278. wustl is not un the northwest of the US?
  279.  
  280. (*) MPW doesn't like \000 in string literals?
  281.  
  282. MPW patches, unixemu patches
  283.  
  284. prepare tar files with
  285.     - mac think projects (*)
  286.     - mpw makefiles
  287.     - dos makefiles
  288.     - mac unixemu lib
  289.  
  290. explain rules about == vs. 'is' for strings (* by others on the list)
  291.  
  292. (*) bug in ceval.c DELETE_FAST
  293.  
  294. (*) possible optimize LOAD_NAME -> LOAD_GLOBAL
  295.  
  296. get dos python with suit (inesc)
  297.  
  298. (*) docs for try/continue are wrong and unclear
  299.  
  300. better hashing fn?
  301.  
  302. (*) add improved nested indent to python-mode.el
  303.  
  304. (*) add a section to tutorial on "new" features
  305.  
  306. rewrite section on formatting in tutorial
  307.  
  308. ======================================================================
  309. TODO-TOO list:
  310.  
  311. test for overflow when converting python long to float
  312.  
  313. lift restrictions on tuple or list in many cases
  314.  
  315. (*) allow long ints with sensible values for getargs "i"
  316.  
  317. (*) multiline string literals
  318.  
  319. what to do about 64-bit int literals (on 64-bit machines) in .pyc
  320. files?  (Currently truncated w/o warning!)
  321.  
  322. DOCUMENTATION UPDATE!  E.g. ref.tex doesn't describe:
  323. (*)    - line joins w/o backslash
  324. (*)    - double-quoted strings; \" in strings
  325.     - more?
  326. Should double-check all changes with docs!
  327.  
  328. (?) Interrupting output still sometimes doesn't call clearerr() properly
  329.  
  330. sometimes ghost errors when interrupting during debugging in
  331. 'continue' mode?
  332.  
  333. typing a comment to a primary prompt shouldn't issue a secondary prompt
  334.  
  335. readline: add hooks to recognize Python syntax and to expand Python
  336. commands and names
  337.  
  338. should have absolute pathnames in function objects
  339.  
  340. in general check that all the exceptions are modernized and that the
  341. messages aren't giving the same error twice (e.g., stdwinmodule.c!)
  342.  
  343. - check read/write allowed for file objects
  344.  
  345. - introduce macros to set/inspect errno for syscalls, to support things
  346.   like getoserr()
  347.  
  348. ======================================================================
  349. DOS/Windows Python
  350.  
  351. (???) command line options?
  352.  
  353. (*) os.system()
  354.  
  355. (???) interrupts
  356.  
  357. (???) wrap
  358.  
  359. (*) pc module
  360.  
  361. (*) dospath.py
  362.  
  363. DOS/Windows Python -- TO DO
  364.  
  365. (*) memtest from config.h
  366.  
  367. (*) copy sources back
  368.  
  369. (*) build DOS version
  370.  
  371. (*) distribute 386 version
  372.  
  373. (*) Mac 1.0.1 release?
  374. ======================================================================
  375.